package com.luxsoft.sw3.contabilidad.dao;


import java.util.List;

import com.luxsoft.siipap.dao.hibernate.GenericDaoHibernate;
import com.luxsoft.sw3.contabilidad.model.Poliza;
import com.luxsoft.sw3.contabilidad.model.TipoDePoliza;

public class PolizaDaoImpl extends GenericDaoHibernate<Poliza, Long> implements PolizaDao{

	public PolizaDaoImpl() {
		super(Poliza.class);		
	}

	public Long buscarProximaPoliza(int year,int mes,TipoDePoliza tipo) {
		String hql="select max(folio) from Poliza p where year(p.fecha)=? and month(p.fecha)=? and p.tipo.id=?";
		List res=getHibernateTemplate().find(hql,new Object[]{year,mes,tipo.getId()});
		if(res.isEmpty())
			return 1l;
		Number val=(Number)res.get(0);
		return val.longValue()+1;
	}

}
